package com.canaan.business.service.basic;

import java.util.List;
import com.canaan.business.domain.basic.StorehousePermission;

/**
 * 仓库权限Service接口
 *
 * @author ruoyi
 * @date 2023-02-01
 */
public interface IStorehousePermissionService {
    /**
     * 查询仓库权限
     *
     * @param id 仓库权限主键
     * @return 仓库权限
     */
    StorehousePermission selectStorehousePermissionById(Long id);

    /**
     * 查询仓库权限列表
     *
     * @param storehousePermission 仓库权限
     * @return 仓库权限集合
     */
    List<StorehousePermission> selectStorehousePermissionList(StorehousePermission storehousePermission);

    /**
     * 新增仓库权限
     *
     * @param storehousePermission 仓库权限
     * @return 结果
     */
    int insertStorehousePermission(StorehousePermission storehousePermission);

    /**
     * 批量新增仓库权限
     *
     * @param storehousePermissionList 仓库权限列表
     * @return 结果
     */
    int batchInsertStorehousePermission(List<StorehousePermission> storehousePermissionList);

    /**
     * 修改仓库权限
     *
     * @param storehousePermission 仓库权限
     * @return 结果
     */
    int updateStorehousePermission(StorehousePermission storehousePermission);

    /**
     * 批量修改仓库权限
     *
     * @param storehousePermissionList 仓库权限列表
     * @return 结果
     */
    int batchUpdateStorehousePermission(List<StorehousePermission> storehousePermissionList);

    /**
     * 批量删除仓库权限
     *
     * @param nos 需要删除的仓库权限主键集合
     * @return 结果
     */
    int deleteStorehousePermissionByIds(String[] nos);

    /**
     * 删除仓库权限信息
     *
     * @param id 仓库权限主键
     * @return 结果
     */
    int deleteStorehousePermissionById(Long id);

    /**
     * 查询仓库权限
     *
     * @param no 编号
     * @return 仓库权限
     */
    StorehousePermission selectStorehousePermissionByNo(String no);

    /**
     * 批量删除仓库权限
     *
     * @param nos 需要删除的编号集合
     * @return 结果
     */
    int deleteStorehousePermissionByNos(String[] nos);

    /**
     * 删除仓库权限信息
     *
     * @param no 编号
     * @return 结果
     */
    int deleteStorehousePermissionByNo(String no);


    /**
     * 根据仓库编号，查询仓库权限列表
     *
     * @param storehouseNo 仓库编号
     * @return 结果
     */
    StorehousePermission getPermissionsByStorehouseNo(String storehouseNo);

}
